Host computing systems (i.e., “hosts”) commonly employ storage arrays for retaining large amounts of data. A host, such as a data server or web server, generally connects to a storage array through multiple paths. Multiple paths allow for redundant connections, parallel data transmission, load balancing, and failover.
Conventionally, the host employs a multipathing driver to manage the paths connecting the host to the storage array. An example of a multipathing driver is the PowerPath® driver from EMC Corporation of Hopkinton, Mass.
Multipathing drivers typically operate in response to incoming I/O requests. As is known, an “I/O request” is a command, generally arising from the host's operating system in response to an executing program or other software construct, to transmit data to the storage array or to obtain data from the storage array. As the multipathing driver responds to I/O requests, it typically collects metrics related to I/O performance.